package LatentTicTacToe.Players;

import LatentTicTacToe.Data.AbstractBoard;
import LatentTicTacToe.Data.Move;
/**
 * Abstract class with properties required from every Player
 * @author Jiri Cermak
 *
 */
public abstract class Player {

	/**
	 * values in {1, 2} defining if player uses crosses(1) or circles(2)
	 */
	public byte sign;
	
	public Player(byte sign, AbstractBoard initialBoard) {
		this.sign = sign;
	}

	/**
	 * Method in which player decides which move to choose given current situation
	 * 
	 * @param situation
	 * @param valid
	 * @return
	 */
	public abstract Move getNextNode(AbstractBoard board, boolean validity);

}
